﻿using System.Collections.Generic;
using Neturion.Dados;
using Neturion.IRepositorios;
using Neturion.Repositorios;

namespace Neturion.Negocios
{
    /// <summary>
    /// 
    /// </summary>
    public class NegocioConta
    {
        private IRepositorioConta _repositorioConta;

        /// <summary>
        /// 
        /// </summary>
        public NegocioConta()
        {
            _repositorioConta = new RepositorioConta();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="conta"></param>
        /// <returns></returns>
        public Conta Inserir(Conta conta)
        {
            return _repositorioConta.Inserir(conta);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="conta"></param>
        /// <returns></returns>
        public Conta Atualizar(Conta conta)
        {
            return _repositorioConta.Atualizar(conta);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="conta"></param>
        public void Excluir(Conta conta)
        {
            Conta contaTmp = ObterPorId(conta.ContaId);
            _repositorioConta.Excluir(contaTmp);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public IList<Conta> ObterTodos()
        {
            return _repositorioConta.ObterTodos();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Conta ObterPorId(int id)
        {
            return _repositorioConta.ObterPorId(id);
        }

        public Conta ObterPorNumeroConta(string numeroConta)
        {
            return _repositorioConta.ObterPorNumeroConta(numeroConta);
        }
    }
}